package com.cmc.cloud.cmclink.doc.api.document.rep.manifestrep.manifest;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 舱单主更新 Request VO
 *
 * @author chenzheng
 */
@Schema(description = "管理后台 - 舱单主更新 Request VO")
@Data
@ToString(callSuper = true)
public class ManifestUpdateReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "9636")
    @NotNull(message = "{manifest.id.notnull}")
    private Long id;

    @Schema(description = "付费条款", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "{manifest.payment.notblank}")
    @Length(max = 50, message = "{manifest.payment.length}")
    private String payment;

    @Schema(description = "接货地 描述", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "{manifest.pordesc.notblank}")
    @Length(max = 50, message = "{manifest.pordesc.length}")
    private String porDesc;

    @Schema(description = "装货港 描述", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "{manifest.poldesc.notblank}")
    @Length(max = 50, message = "{manifest.poldesc.length}")
    private String polDesc;

    @Schema(description = "卸货港 描述", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "{manifest.poddesc.notblank}")
    @Length(max = 50, message = "{manifest.poddesc.length}")
    private String podDesc;

    @Schema(description = "目的地 描述", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "{manifest.deldesc.notblank}")
    @Length(max = 50, message = "{manifest.deldesc.length}")
    private String delDesc;

    @Schema(description = "中转类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private String transitTerm;

    /**
     * 订舱船名 非line 第一段
     */
    @Schema(description = "前程船名")
    private String preVessel;
    /**
     * 订舱航次 非line 第一段
     */
    @Schema(description = "前程船名")
    private String preVoyage;
}
